1. Field
This disclosure generally relates to electronic design automation. More specifically, this invention relates to electronic-design-automation software that maintains a transaction history of sequences of one or more electronic-design-automation operations.
2. Related Art
Electronic-design-automation (EDA) software is widely used to design circuits. Typically, EDA software maintains a log file of all the commands or operations performed by a user during a design session, which provides a way for a user to undo, redo or rollback complex operations. However, there are often relationships among groups of operations that are not captured in log files.
For example, a user may perform a sequence of related EDA operations (which are sometimes referred to as a ‘transaction’), such as modifying a circuit design by moving multiple objects. Each object that is moved may result in a separate entry or operation in the log file. However, the log file may not include information that indicates how the multiple move operations relate to the overall user purpose (i.e., the transaction).
Consequently, it can be difficult for users to use the information in the log file. In particular, because the log file typically includes a low-level view of the operations performed during a design session, it can be difficult for the user to keep track of the high-level transactions that have been performed.
In addition, many of the operations stored in a log file are implicit to the user's actions, and as such may not be known to the user. This can cause problems when the user attempts to parse the stored operations in a log file in an attempt to determine the associated transactions. Furthermore, while software-development techniques such as checkpoints can be used, the checkpoints are often placed at arbitrary positions, which have no relationship to the transactions.
Therefore, the absence of stored transaction information about sequences of EDA operations may increase the time and effort needed to design circuits, thereby increasing their cost. In addition, the absence of stored transaction information may degrade the user experience, which can impact customer retention and sales of EDA software.